Page({
    data: {
        items: [
            "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
            "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
            "21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
            "31", "32", "33", "34", "35", "36", "37", "38", "39", "40",
            "41", "42", "43", "44", "45", "46", "47", "48", "49", "50"
        ],
        startY: 0,
        startHeight: 0,
        drawerHeight: 200,
        scrollable: false
    },
    touchStart: function(e) {
        this.setData({
            startY: e.touches[0].clientY,
            startHeight: this.data.drawerHeight
        });
    },
    touchMove: function(e) {
        var currentY = e.touches[0].clientY;
        var diff = this.data.startY - currentY;
        var newHeight = this.data.startHeight + diff;
        var windowHeight = wx.getSystemInfoSync().windowHeight;

        if (newHeight > 0) {
            if (e.currentTarget.id === 'bottomDrawer') {
                this.setData({
                    drawerHeight: newHeight,
                    scrollable: newHeight > windowHeight
                });
            }
        }

        if (diff > 100) { // 向上滑动超过100px
            this.setData({
                drawerHeight: windowHeight,
                scrollable: true
            });
        } else if (diff < -100 && newHeight <= windowHeight) { // 向下滑动超过100px
            this.setData({
                drawerHeight: 200,
                scrollable: false
            });
        }
    }
});
